﻿export default function define(Blocks: Blockly.BlockDefinitions) {

  Blocks['webdefine'] = {
    init: function () {
      this.appendDummyInput()
        .appendField('定义函数 ');
      this.appendValueInput('1')
        .setCheck(null);
      this.appendDummyInput()
        .appendField(' 参数(');
      this.appendValueInput('2')
        .setCheck(null);
      this.appendDummyInput()
        .appendField('):');
      this.appendStatementInput('DO')
        .setCheck(null);
      this.setPreviousStatement(true, null);
      this.setNextStatement(true, null);
      this.setColour("#CDDA36");
      this.setTooltip('');
      this.setHelpUrl('http://www.example.com/');
    },
  };

  Blocks['webreturn2'] = {
    init: function () {
      this.appendDummyInput()
        .appendField('返回');
      this.appendValueInput('return')
        .setCheck(null);
      this.setPreviousStatement(true, null);
      this.setInputsInline(true);
      this.setNextStatement(true, null);
      this.setColour("#CDDA36");
      this.setTooltip('');
      this.setHelpUrl('');
    },
  };


  Blocks['webtypeanything'] = {
    init: function() {
      this.appendValueInput("stuff")
        .setCheck(null);
      this.appendDummyInput()   
          .appendField("# 你自己的代码");
      this.setPreviousStatement(true, null);
      this.setNextStatement(true, null);
      this.setColour('#CDDA36');
      this.setTooltip("任何你想输入的Python代码");
      this.setHelpUrl("");
    }
  };


  Blocks['webdf'] = {
    init: function () {
      this.appendValueInput("def")
        .setCheck(null);
      this.appendDummyInput()
        .appendField('(');
      this.appendValueInput("params")
        .setCheck(null)
      this.appendDummyInput()
        .appendField(')');
      this.setPreviousStatement(true, null);
      this.setNextStatement(true, null);
      this.setColour('#CDDA36');
      this.setTooltip('调用函数');
      this.setHelpUrl('');
    },
  };
  
  Blocks['webdf_value'] = {
    init: function () {
      this.appendValueInput("def1")
        .setCheck(null);
      this.appendDummyInput()
        .appendField('(');
      this.appendValueInput("params1")
        .setCheck(null)
      this.appendDummyInput()
        .appendField(')');
      this.appendDummyInput()
          .appendField("的返回值");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour('#CDDA36');
      this.setTooltip('调用函数');
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setHelpUrl('');
    },
  };

  Blocks['webclass'] = {
    init: function () {
      this.appendDummyInput()
        .appendField('定义类')
      this.appendValueInput("class")
        .setCheck(null)
      this.appendDummyInput()
        .appendField(':');
      this.appendStatementInput('DO')
        .appendField('');
      this.setPreviousStatement(true, null);
      this.setNextStatement(true, null);
      this.setColour("#CDDA36");
      this.setTooltip('Class Statement.');
      this.setHelpUrl('');
    },
  };

}

